Use of invisible ink to create metadata of image object

ABSTRACT

Provided are techniques for the placement of a code on an object that does not interfere and is not displayed in a captured visual image of the object. Also provided are techniques for capturing a first image of an object in the visual light spectrum; capturing a second image of the object in a non-visual light spectrum; extracting metadata, stored in the non-visual light spectrum corresponding to the object from the second image: and storing the first image in conjunction with the metadata. Also provided are techniques for storing the metadata in conjunction with the object in the non-visual light spectrum, wherein the metadata is stored in a quick response (QR) code or a bar code and the non-visible light spectrum is ultraviolet light or infrared light.

FIELD OF DISCLOSURE

The claimed subject matter relates generally to the display of imagesand, more specifically, to a techniques for providing metadata inconjunction with a visual representation of an object without changingthe visual representation of object.

BACKGROUND OF THE INVENTION

Many objects include, either on the surface or on labels attached to thesurface, a code that provides information on the object Examplesinclude, but are not limited to, a bar code and a Quick Response (QR)code, also known as a 2D code. Information stored in such codes mayinclude such data as a description of the corresponding physical object,the year that the object was made, the material used, a manufacturer andso on. These codes are typically read by a scanner, a mobile telephoneor other objects. However, when a picture is take of an object with suchan attached code, the code is included in the captured image.

“Invisible” ink, also known as “security” ink, is a substance used forprinting that is not normally visible in the visual light speculum Suchink is typically only visible when illuminated by a high, intensitylight in a non-visual light spectrum such as, but not limited to,ultraviolet and infrared wavelengths. In addition, some types of viewingdevices may be employed to view invisible ink, either with or withoutany special illumination. Invisible ink has been used to store metadataand confidential data in documents.

SUMMARY

Provided are techniques for the placement of a code on an object thatdoes not interfere and is not displayed in a captured visual image ofthe object. Also provided are techniques for capturing a first image ofan object in the visual light spectrum; capturing a second image of theobject in a non-visual light spectrum; extracting metadata, stored inthe non-visual light spectrum corresponding to the object from thesecond image; and storing the first image in conjunction with themetadata. Also provided are techniques for storing the metadata inconjunction with the object in the non-visual light spectrum, whereinthe metadata is stored in a quick response (QR) code or a bar code andthe non-visible light spectrum is ultraviolet light or infrared light.

This summary is not intended as a comprehensive description of theclaimed subject matter but, rather, is intended to provide a briefoverview of some of the functionality associated therewith. Othersystems, methods, functionality, features and advantages of the claimedsubject matter will be or will become apparent to one with skill in theart upon examination of the following figures and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the claimed subject matter can be obtainedwhen the following detailed description of the disclosed embodiments isconsidered in conjunction with the following figures, in which:

FIG. 1 is a block diagram of a camera that may implement aspects of theclaimed subject matter.

FIG. 2 is a block diagram of a one example of circuitry associated withthe camera of FIG. 1.

FIG. 3 is a block diagram of Image Augmentation Circuitry (IAL), firstintroduced in conjunction with FIG. 2.

FIG. 4 is a flowchart of one example of a Capture Image process that mayimplement aspects of the claimed subject matter.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium ma be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational actions to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 1 is a block diagram of a camera 102 that may implement aspects ofthe claimed subject matter. Camera 102 is coupled to two (2) lightsources, of “flashes,” i.e. as LS_1 104 and a LS_2 106. LS_1 104 andLS_2 108 both produce illumination so that camera 102 may capture animage of an object, which in this example is a statue 108 that fallwithin sight lines 119 of camera 102. LS_1 104 produces illumination ina visible light spectrum, or simply “visual spectrum,” and LS_2 106produces illumination in a non-visual light spectrum, or simply“non-visual spectrum,” such as, but not limited to, the ultraviolet orinfrared wavelengths.

It should be understood that although the disclosed technology isdescribed with respect to two different light sources, either none orone light sources may be employed. For example, one or more sensors maybe sensitive enough to their respective spectrums that no illuminationis required to capture an image. A sensor that is sensitive to visuallight may not need a flash in some situations. In a similar fashion, asensor sensitive to the non-visual light spectrum may be used, eitherwith or without a corresponding flash.

Statue 108 has two (2) labels, i.e., a bar code 112 and a Quick Response(QR) code 114. Bar code 112 and QR code 114 are configured to be visiblein the non-visual light spectrum and “invisible” in the visual lightspectrum. In other words, bar code 112 and QR code 114 are printed with“invisible” ink. In accordance with the claimed subject matter, LS_1 104is employed by camera 102 to capture a first image of statue 108 in thevisual spectrum and LS_2 106 is employed to capture a second image inthe non-visual spectrum. The relationship between camera 102 and codes112 and 114 is explained in more detail below in conjunction with FIGS.2 and 3.

FIG. 2 is a block diagram of a one example of camera circuitry, orsimply “circuitry,” 150 that may associated with camera 102 of FIG. 1.Light reflected from an object, which in this example is statue 108(FIG. 1), is captured by a sensor 152. Sensor 152 transmits a signal toa signal processor 154, which, after processing the signal, transmits adigital signal corresponding to the captured image to an image processor156. In accordance with the claimed subject matter, image processor 156includes Image Augmentation Logic (IAL) 157. Although illustrated inconjunction with image processor 156, all or parts of IAL 157 may beimplemented as one or more separate components of camera 102. Someprocessing associated with IAL 157 may even be configured to take placeon devices other than camera 102 in a post processing configuration.Processing associated with IAL 155 is described in more detail below inconjunction with FIG. 3. Image processor 156 is controlled by amicrocontroller 158 and a timing generator 160 and in turn controlsmotor controllers 162. Motor controllers 162 control mechanical aspectsof camera 102, such as, but not limited to. LS_1 104 (FIG. 1.), LS_2 106(FIG. 1) and a shutter (not shown) that allows light to hit sensor 152.

Timing generator 160 signals a sensor driver 162 that is used to controlimage capture timing by sensor 152 and coordinates activities of Sensor152 and signal processor 154. Also coupled to sensor 152 is an auxiliary(aux.) video input 166 that enables sensor 152, and therefore camera102, to capture video images as well as still images. It should beunderstood that circuitry 150 is used for the purposes of illustrationonly and that a typical digital camera would be much more complex witheither additional or different components. In addition, the claimedsubject matter is also applicable to other types of image capturedevices such as, but not limited to, video cameras.

FIG. 3 is a block diagram of IAL 157, described above in conjunctionwith FIG. 2, in greater detail. IAL 157 includes an input/output (I/O)module 172, a data module 174, a metadata extraction module (MEM) 176and an image combining module (ICM) 178. It should be understood thatthe claimed subject matter can be implemented in many types of softwareand circuitry but, for the sake of simplicity, is described only interms of camera 102 (FIG. 1) and IAL. 157. Further, the representationof IAL 157 in FIG. 3 is a logical model. In other words, components 172,174 and 178 may be implemented in software or hardware and configured inmany types of devices and configurations, as will be apparent to onewith skill in the relevant arts.

I/O module 140 handles any communication IAL 157 has with othercomponents of camera 102. Data module 172 stores information that IAL157 requires during normal. operation. Examples of the types ofinformation stored in data module 172 include image storage 182,metadata storage 184, option data 186 and processing logic 188. Imagestorage 182 provides storage for both images captured in the visiblespectrum, the corresponding image in the non-visible spectrum and theprocessed image in the visible image that includes information extractedfrom codes 112 and 114. Metadata storage 184 stores informationextracted from codes 112 and 114. Option data 186 stores informationthat control the operation of IAL 157, including, but not limited to,storage locations and file storage formats. Processing logic 188 storesthe code that controls the operation of IAL 157, subject to theconfiguration parameters stored in option data 186.

Metadata Extraction module 144 extracts information referenced by codeson objects, which in the following example includes the information onbar code 112 and QR code 114 on object 108 as captured by camera 102 inthe non-visible spectrum. Image combining module (ICM) 178 takes thisinformation extracted by MEM 174 and associates the information with thecorresponding image in the visible spectrum. The image in the visiblespectrum is than stored in image storage 182.

FIG. 4 is a flowchart of one example of a Capture Image process 200 thatmay implement aspects of the claimed subject matter. In this example,process 200 is associated with logic stored in processing logic 188(FIG. 3) of IAL 157 (FIGS. 2 and 3) and executed on elements of cameracircuitry 150 (FIG. 2).

Process 200 starts in a “Begin Capture Image” block 202 and proceedsimmediately to a “Capture Image_1” block 204. During processingassociated with block 204, a first image, in the visible light spectrum,is captured by camera 102 (FIG. 1). Depending upon the amount of ambientvisible light, LS_1 104 (FIG. 1) may or may not be used to illuminatethe scene of which a picture is taken. In this example, a user is takinga picture of statue 108 (FIG. 1). During processing associated with a“IAL Enabled?” block 206, a determination is made as to whether or notIAL 157 has been enabled for this particular picture, or “shot.” If so,control proceeds to a “Capture Image_2” block 208. During processingassociated with block 208, a second image, in a non-visible lightspectrum, is taken. Like the shot with respect to the first image.Depending upon the amount of ambient non-visible light. LS_2 106(FIG. 1) may or may not be used to illuminate bar code 112 (FIG. 1) andQR code 114 (FIG. 1), which are the target a this particular shot.

During processing associated with an “Extract Metadata” block 210,metadata associated with bar code 112 and QR code 114 are extracted. Thedata may actually be stored in bar code 112 and/or QR code 114 or codes112 and/or 114 may simply provide a cite to a location where thecorresponding data is stored. During processing associated with an“Associate Metadata (MD.) with Image_1” block. 212, the metadataextracted from the second image during processing associated with block210 is associated with the first image shot during processing associatedwith block 208. Once the metadata has been associated with the firstimage during processing associated with block 212 or, if, duringprocessing associated with block 206, a determination is made that IAL157 is not enabled, control proceeds to a “Save Image_1” block 214.

During processing associated with block 214, the first image shot duringprocessing associated with block 204 is saved in image storage 182 and,if IAL 157 has been enabled, the extracted metadata is stored inmetadata storage 184 so that the stored metadata may be associated withthe first image. Finally, control proceeds to an “End Capture Image”block 219 and process 200 is complete.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and the are intended toinclude the plural limns as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations ill be apparent to those of ordinary skill in the art withoutdeparting from the scope and spirit of the invention. The embodiment waschosen and described in order to best explain the principles of theinvention and the practical application, and to enable others ofordinary skill in the art to understand the invention for variousembodiments with various modifications as are suited to the particularuse contemplated.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order rioted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

1-7. (canceled)
 8. An apparatus, comprising: a first imaging technologyoperating at frequencies within the visual spectrum; a second imagingtechnology operating at frequencies outside the visual spectrum; andlogic for: capturing a first image of an object with the first imagingtechnology; capturing a second image of the object with the secondimaging technology; extracting content from the second image that isinvisible in the first image; storing the content as metadata inconjunction with the first image.
 9. The apparatus of claim 8, furthercomprising logic for storing the content in conjunction with the objectin the non-visual light spectrum.
 10. The apparatus of claim 9, whereinthe content is stored in a bar code.
 11. The apparatus of claim 10,wherein the bar code is placed on the object.
 12. The apparatus of claim9, wherein the content is stored in a Quick Response (QR) code.
 13. fileapparatus of claim 12, wherein the QR code is place on the object. 14.The apparatus of claim 1, the logic for extracting the metadatacomprising logic for: reading a reference to data stored in aninformation store from the metadata; and retrieving the data from theinformation store.
 15. A computer programming product, comprising: anon-transitory computer-readable storage medium; and logic, stored onthe computer-readable storage medium for execution on a processor, for:capturing a first image of an object with a first imaging technologyoperating at frequencies within the visual spectrum; capturing a secondimage of the object with a second imaging technology operating atfrequencies outside the visual spectrum; extracting content from thesecond image that is invisible in the first image; storing the contentas metadata in conjunction with the first image.
 16. The computerprogramming product of claim 15, further comprising storing the contentin conjunction with the object in the non-visual light spectrum.
 17. Thecomputer programming product of claim 16, wherein the content is storedin a bar code.
 18. The computer programming product of claim 18, whereinthe bar code is placed on the object.
 19. The computer programmingproduct of claim 16, wherein the content is stored in a Quick Response(QR) code.
 20. The computer programming product of claim 19, wherein theQR code is place on the object.